module SignExtend16to32(I, O);
input [15:0] I;
output [31:0] O;

assign O={{16{I[15]}}, I};

endmodule